package com.ftg.learn.chapter12.isa;

/**
 *
 * @author kangjx
 * @createTime 2022/8/3
 */
public class Son extends Parent{

    /**
     * 方法 Override重写 :  父子类
     */
    public int say(int x,int y){
        System.out.println("子类说");
        return 1;
    }

    @Override
    public int say(int x){
        System.out.println("子类说");
        return 1;
    }

    public void q1(){
        //本类的实例
        this.say(123);
        //super 代表父类的实例
        super.say(123);
//        [类名].[静态方法名]
        Parent.testParent();
        //静态 先为什么不能调用非静态 {实例后}?
    }

    /**
     * 初始化块 比构建方法 先
     */
    {
        System.out.println("子类 初始化块 4");
    }

    /**
     *
     */
    static {
        System.out.println("子类 静态初始化块 5");
    }

    public Son(){
        System.out.println("子类 构建方法 6");
    }



    public static void main(String[] args) {

//        Parent[] 多态
        //向上转型
//        Parent p = new Son();
//
//        //向下转型
//        Son s = (Son)p;
//        s.say();
//        Son s = (Son)new Parent();
//        s.say();

        Son s = new Son();
        s.q1();
        System.out.println(Parent.parentInt);

    }

}
